package com.anita.member.common.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;

/**
 * 七牛云存储配置类
 *
 * @author wuyunbin
 */
@Data
@Component
@ConfigurationProperties(prefix = "qiniu")
public class QiniuConfig {

    /**
     * 访问密钥
     */
    private String accessKey;

    /**
     * 私钥
     */
    private String secretKey;

    /**
     * 存储桶名称
     */
    private String bucketName;

    /**
     * 访问域名
     */
    private String domain;
    /**
     * 是否使用https
     */
    private Boolean useHttps;

    /**
     * 是否私有存储桶
     * true: 使用预签名URL访问（默认）
     * false: 使用公开URL访问
     */
    private Boolean privateBucket = true;

    /**
     * 签名有效期
     * 单位秒
     */
    private Long expires;

    public boolean isValid() {
        return StringUtils.hasText(accessKey) &&
                StringUtils.hasText(secretKey) &&
                StringUtils.hasText(bucketName) &&
                StringUtils.hasText(domain);
    }

}